package com.dyw.Day05;

import java.util.HashMap;
import java.util.Map;

/**
 * @auther Devil
 * @create 2022-01-11-22:51
 *
 *
 * 给定一个字符串，找到它的第一个不重复的字符，并返回它的索引。如果不存在，则返回 -1。
 *
 * 解题:两次遍历 第一次遍历 使用Hashmap记录字符串中出现的字符的次数 第二次遍历把第一个出现次数为1的字符下标输出
 */
public class Demo01 {
    public int firstUniqChar(String s) {
        Map<Character, Integer> map = new HashMap<>();
        for (int i = 0; i < s.length(); i++) {
            char c  = s.charAt(i);
            map.put(c,map.getOrDefault(c,0)+1);
        }
        for (int i = 0; i < s.length(); i++) {
            if(map.get(s.charAt(i))==1){
                return i;
            }
        }
        return -1;
    }
}
